When stitching together individual images to create a composite, it is generally desirable to remove variances in appearance between the individual images since such variances become more noticeable when the individual images are placed one right next to the other. For example, two images of adjacent portions of an object, such as a large building or a scene, such as the Grand Canyon, can have a slight variation in coloring with, as an example, one image having a slightly more orange hue than another. While such a variation can be difficult for viewers to see when viewing the images serially, when the images are placed immediately adjacent to one another to create a composite image of the object or scene, such a slight difference can be readily apparent and noticeable and can define and emphasize a boundary between the two individual images that was meant to be obfuscated by their joining to create the composite.
The above-described effect can be especially noticeable, and even distracting, when a composite image comprises hundreds, thousands, or even more, individual images. For example, modern computing-device-implemented maps, including maps accessed through network communications and maps accessed from a local storage medium, such as an optical disc, often provide for pictorial representations of the areas encompassed by maps. Such pictorial representations are typically comprised of many thousands of individual images, often taken from above, such as by an airplane or a satellite. For individual images acquired by airplane, the atmosphere often adds visible discolorations or effects to the images. Colloquially, such atmospheric interference is referred to as “haze” and results in images that are not as clear, and do not have as high contrast, as they otherwise could. To eliminate such haze, and provide a common visual baseline for all of the individual images that will be combined to generate the composite image to be utilized as part of the computing-device-implemented map, a model has been created to define the perceived illumination of a pixel in an image as a combination of the illumination of the object, taking into account transmission losses between the object and the camera taking the picture, and the visual effects added by the atmosphere.
Even outside of the context of stitching together images, it is generally desirable to remove atmospheric effects from images. For example, any image should appear more clear and the coloring of such an image should appear more accurate, if atmospheric effects are removed. Thus, the above-described drawbacks to atmospheric effects in images are not limited to the stitching together of images into a composite image.
One commonly utilized formula to model the perceived illumination of a pixel in an image is Ix=JxTx+A·(1−Tx), where Ix is the color of the pixel, Jx is the surface radiance vector, at the object represented by the pixel, that corresponds to the pixel, Tx is the transmission along the ray of light between the object represented by the pixel and the camera that captured the image that includes the pixel, and A is the atmospheric color coefficient, which, as will be recognized by those skilled in the art, is typically a constant for the entire image. Tx has a value of between 0 and 1, such that a value of 0 represents an object that is so far away that none of the light bouncing off of that object reaches the camera, and is, instead, all scattered by atmospheric particles between the object and the camera, and a value of 1 represents an object that is so close that all of the light bouncing off of that object reaches the camera, and none of it is scattered by any intervening atmospheric particles.
Traditionally, the transmission coefficient is modeled by the equation Tx=e−βDx, where β is the atmospheric scattering coefficient, which, like A above, is also constant for the entire image, and Dx is the scene depth at the pixel, or, stated differently, the distance between the camera and the object that corresponds to the pixel. Unfortunately, such a model is only accurate for narrow field images and does not include, or provide for, the directional aspects of atmospheric interference. Thus, such a model does not provide acceptable results when implemented on wide field images, such as, for example, those taken by an airplane for purposes of generating a composite image for mapping purposes. Similarly, such a model does not provide optimal results when images are captured at oblique angles. For example, certain satellites are designed to capture oblique images, such as for stereo reconstruction purposes. Utilizing the above-described model would provide sub-optimal results on such images.